Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoc: Loop raz powtarza


Rekomendowane odpowiedzi

Opublikowano

Cześć, napisałem skrypt, dodałem do opcji FUNC jedną wartość mianowicie:

 

      	 _IENavigate($oIE, "https://ssl.allegro.pl/Register.php/requestEmailConfirmation", 1)

 

$check = _IEGetObjById($oIE,"confirmAdult") ; Zaznacza checkbox
_IEAction($check,"click") ; klikamy w ten element.
	    _IEFormSubmit($formalogowania) ;potwierdzamy logowanie cos stylu wcisniecia ENTER'a
  sleep(1000)
  _IENavigate($oIE, "https://ssl.allegro.pl/Register.php/requestEmailConfirmation", 1)
  Next
 EndFunc

 

Po nacisnięciu entera przechodzi na strone, i wszystko fajnie bo akceptuje... pozniej w operacji LOOP już tego nie powtarza...

 

kod skryptu:

 

#include <Ie.au3>
#include <ButtonConstants.au3>
#include <GUIListBox.au3>
#include <GUIConstantsEx.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
Global $butt,$captcha,$input,$oIE,$bot


#region  FAQ Opcja do zaznaczania obieku
;------------------------------------------------------
; $obj - uchwyt obiektu IE
; "id" - szukamy checkboxa po ID
; "generate_password_confirm" - ID checkboxa
; 1 - zaznaczamy checkboxa (podając 0 - odznaczamy)
; _IEFormElementCheckBoxSelect($kwadracik1, "PersistentCookie", "PersistentCookie", 1)
;------------------------------------------------------
#endregion
#Region GUI
_IEErrorHandlerRegister()
$oIE = _IECreateEmbedded()
$Form1 = GUICreate("Okienko", 700, 545, 192, 124)
$label = guictrlcreatelabel("kipeer",763,430)
$GUIActiveX = GUICtrlCreateObj($oIE, 40, 10, 570, 400)
$but = GUICtrlCreateButton("Klik", 630,200,40,25)
GUISetState(@SW_SHOW,$bot)
While 1
  $nMsg = GUIGetMsg()
  Switch $nMsg
							 Case $GUI_EVENT_CLOSE
	    Exit
Case $but
	    lol()
EndSwitch
WEnd
Func lol()
  $path = "email.txt"
    $file = _FileCountLines($path)
    For $x = 1 To $file Step +1
		    $email = FIleReadLine($path,$x)
	    _IENavigate($oIE, "https://ssl.allegro.pl/Register.php")
   _IELoadWait($oIE)
   sleep(2000)
;$oie = _IECreate("https://accounts.google.com/NewAccount?gl=PL&client=mv-google&followup=http%3A%2F%2Fm.youtube.com%2Femail_confirm%3Fwarned%3D1&uilel=0&service=youtube&shdf=ChYLEgxub1F1YXJhbnRpbmUaBFRydWUMEgd5b3V0dWJlGgRTSEExIhTDga0qbMaN6_h91_Ghd4kzi_Tu9ygBMhRRf8t_FnPI0wk3pyCMaH42pk-u2g%3D%3D&skipll=true&passive=true&skipvpage=true&continue=http%3A%2F%2Fm.youtube.com%2Fsignin%3Faction_handle_signin%3Dtrue%26nomobiletemp%3D1%26warned%3D1%26next%3D%252F%26hl%3Dpl_PL%26new%3Dtrue&hl=pl_PL&nui=17&ltmpl=mobile")
;$oie = _IECreate("auto:blank") ;wejscie na gmail'a
_IELoadWait($oie)
$formalogowania = _IEFormGetCollection($oie, 0) ;poniewaz to jedyna forma (liczymy od 0) to index to 0
$pole1   = _IEFormElementGetObjByName($formalogowania, "email") ;patrzymy w źródle strony na Name input'a do loginu tutaj to "Email"
$pole2   = _IEFormElementGetObjByName($formalogowania, "firstName")
$pole3   = _IEFormElementGetObjByName($formalogowania, "lastName")
$pole4   = _IEFormElementGetObjByName($formalogowania, "birthDate")
$pole5   = _IEFormElementGetObjByName($formalogowania, "address")
$pole6   = _IEFormElementGetObjByName($formalogowania, "postcode")
$pole7   = _IEFormElementGetObjByName($formalogowania, "city")
$pole8   = _IEFormElementGetObjByName($formalogowania, "state") ; wybieranie listy
$pole9   = _IEFormElementGetObjByName($formalogowania, "country")
$pole0   = _IEFormElementGetObjByName($formalogowania, "city")
$pole01   = _IEFormElementGetObjByName($formalogowania, "phone")
	    $kwadracik1   = _IEFormElementGetObjByName($formalogowania, "rmShown")
	    _IEFormElementSetValue($pole1, $email) ;wpisujemy do pola loginu nasz wpisany loginu
sleep(15)
	    _IEFormElementSetValue($pole2, "Jacek")
sleep(15)
  _IEFormElementSetValue($pole3, "Agniesta")
sleep(15)
  _IEFormElementSetValue($pole4, "02-02-1989")
  _IEFormElementSetValue($pole5, "Kuropatwy 2")
sleep(15)
	    _IEFormElementSetValue($pole6, "70-999")
sleep(15)
  _IEFormElementSetValue($pole7, "Miasto")
	    _IEFormElementOptionSelect($pole8, "3")
sleep(15)
	    _IEFormElementOptionSelect($pole9, "16")
  _IEFormElementSetValue($pole01, "500550212")
sleep(15)
_GUICtrlListView_SetItemChecked($formalogowania, "confirmAdult", 0)
sleep(150)
$check = _IEGetObjById($oIE,"confirmAdult") ; pobieramy ID elementu
_IEAction($check,"click") ; klikamy w ten element.
	    _IEFormSubmit($formalogowania) ;potwierdzamy logowanie cos stylu wcisniecia ENTER'a
  sleep(1000)
  _IENavigate($oIE, "https://ssl.allegro.pl/Register.php/requestEmailConfirmation", 1)
  Next
 EndFunc

Nukereq.png
Opublikowano

Myślę ,że problem z pętlą loop polega na tym ,że jej po prostu nie użyłes w kodzie i dlatego nie działa ...

 

EDIT: albo Cię nie mogę zrozumieć , wiec napisz prościej

Opublikowano
Opublikowano

Po pierwsze: nie zakładaj tylu tematów w tym dziale w takim odstępie czasowym. Lepiej dopisać do swojego poprzedniego tematu kolejny problem. Właśnie dlatego nie zamykamy wszystkich "rozwiązanych" tematów. Pamiętaj o tym.

 

Po drugie Twój kod jest strasznie chaotyczny i chyba nie przemyślałeś go do końca. Używaj Tidy.exe. Pomoże Ci on uporządkować kod i znaleźć ewentualne błędy. (Po użyciu Tidy.exe pojawiają się komentarze w kodzie)

 

@EDIT

Po trzecie daj funkcję lol w pętlę While, Do, albo For i MUSI działać.

Opublikowano

Po pierwsze: nie zakładaj tylu tematów w tym dziale w takim odstępie czasowym. Lepiej dopisać do swojego poprzedniego tematu kolejny problem. Właśnie dlatego nie zamykamy wszystkich "rozwiązanych" tematów. Pamiętaj o tym.

 

Po drugie Twój kod jest strasznie chaotyczny i chyba nie przemyślałeś go do końca. Używaj Tidy.exe. Pomoże Ci on uporządkować kod i znaleźć ewentualne błędy. (Po użyciu Tidy.exe pojawiają się komentarze w kodzie)

 

@EDIT

Po trzecie daj funkcję lol w pętlę While, Do, albo For i MUSI działać.

Przepraszam , a jak użyć TIDY?

Nukereq.png
Opublikowano

Rozszerzona wersja SciTe: Na górnym pasku Tools --> Tidy AutoIt Source

Podstawowa wersja SciTe: Download ze strony producenta

 

Ok... a mógłbyś mi pomóc dotyczący kodu by strony wyswietlane w gui otwierały się w środku a nie przez shell?

 

 

Func lol()

       _FileReadToArray("linki.txt", $linki)
If Not IsArray($linki) Then
  MsgBox(4112,"", "Błąd. Nie znaleziono linków w pliku.")
  Sleep(1000)
  Exit 1
EndIf

For $x = 1 to $linki[0]
  ShellExecute($linki[$x])
               sleep(100)
               Next
     $path = "user.txt"
  	    $file = _FileCountLines($path)
    For $x = 1 To $file Step +1
		    $user = FIleReadLine($path,$x)
               sleep(100)
               _IELoadWait($oIE)

Nukereq.png
Opublikowano

_IENavigate. Jako obiekt IE podajesz handle do COMa w GUI.

 

Nie rozumiem...

        _FileReadToArray("linki.txt", $linki)
If Not IsArray($linki) Then
  MsgBox(4112,"", "Błąd. Nie znaleziono linków w pliku.")
  Sleep(1000)
  Exit 1
EndIf

For $x = 1 to $linki[0]
[b]   _IENAVIGATE($form1, [$linki[$x]])[/b]
               sleep(100)

Nukereq.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...